<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  
  
  <title>什么是革命性技术eBPF？为什么可观测性领域都得用它 | 架构成长指南</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  
    <meta name="description" content="java技术分享，系统架构剖析，java实践分享，ai相关知识分享，chatGPT,架构成长指南">
  
  
    <meta name="keywords" content="架构成长指南，架构，java，云原生，chatGPT">
  
  
    <link rel="alternate" href="/atom.xml" title="架构成长指南" type="application/atom+xml">
  
  
    <link rel="shortcut icon" href="/favicon.png">
  
  
    
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/typeface-source-code-pro@0.0.71/index.min.css">

  
  
<link rel="stylesheet" href="/css/style.css">

  
    
<link rel="stylesheet" href="/fancybox/jquery.fancybox.min.css">

  
  
    
<link rel="stylesheet" href="/localshare/css/share.css">

  
  
    
<link rel="stylesheet" href="https://unpkg.com/gitalk/dist/gitalk.css">

  
  
<meta name="generator" content="Hexo 7.0.0"></head>

<body>
  <div id="container">
    <div id="wrap">
      <header id="header">
  <div id="header-outer" class="outer">
    <div id="header-title" class="inner">
      <h1 id="logo-wrap">
        <a href="/" id="logo">架构成长指南</a>
      </h1>
      
    </div>
    <div id="header-inner" class="inner">
      <nav id="main-nav">
        
          <a class="main-nav-link" href="/."><i class="fa fa-home"></i> 首页</a>
        
          <a class="main-nav-link" href="/archives/"><i class="fa fa-archive"></i> 归档</a>
        
          <a class="main-nav-link" href="/about/"><i class="fa fa-user"></i> 关于</a>
        
      </nav>
    </div>
    <div id="search-form">
      <div id="result-mask" class="hide"></div>
      <label><input id="search-key" type="text" autocomplete="off" placeholder="搜索"></label>
      <div id="result-wrap" class="hide">
        <div id="search-result"></div>
      </div>
      <div class="hide">
        <template id="search-tpl">
          <div class="item">
            <a href="/{path}" title="{title}">
              <div class="title">{title}</div>
              <div class="time">{date}</div>
              <div class="tags">{tags}</div>
            </a>
          </div>
        </template>
      </div>
    </div>
  </div>
</header>

      <div class="outer">
        <section id="main"><article id="post-2023/云原生/什么是革命性技术eBPF？为什么可观测性领域都得用它" class="h-entry article article-type-post" itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
  <div class="article-inner">
    
    
      <header class="article-header">
        
  
    <h1 class="p-name article-title" itemprop="headline name">
      什么是革命性技术eBPF？为什么可观测性领域都得用它
    </h1>
  


      </header>
    
    <div class="article-meta">
      
        <span class='article-top'>【置顶】</span>
      
      <span class="article-date">
  <i class="fa fa-date"></i>
  <time class="dt-published" datetime="2023-12-17T04:54:56.349Z" itemprop="datePublished">2023年12月17日</time>
</span>
      
  <div class="article-category">
    <i class="fa fa-classify"></i>
    <a class="article-category-link" href="/categories/%E4%BA%91%E5%8E%9F%E7%94%9F/">云原生</a>
  </div>

      
        <span class="article-views">
  <i class="fa fa-views"></i>
  <i id="busuanzi_container_page_pv">
      <i id="busuanzi_value_page_pv"></i>
  </i>
</span>

      
      
<a href="/2023/12/17/2023/%E4%BA%91%E5%8E%9F%E7%94%9F/%E4%BB%80%E4%B9%88%E6%98%AF%E9%9D%A9%E5%91%BD%E6%80%A7%E6%8A%80%E6%9C%AFeBPF%EF%BC%9F%E4%B8%BA%E4%BB%80%E4%B9%88%E5%8F%AF%E8%A7%82%E6%B5%8B%E6%80%A7%E9%A2%86%E5%9F%9F%E9%83%BD%E5%BE%97%E7%94%A8%E5%AE%83/#comments" class="article-comment-link">
  
    
    
    
    
    
  
  <i class="fa fa-commt"></i>
  留言
</a>


    </div>
    <div class="e-content article-entry" itemprop="articleBody">
      
        <blockquote>
<p>公众号「架构成长指南」，专注于生产实践、云原生、分布式系统、大数据技术分享。</p>
</blockquote>
<p>如果有一种技术可以监控和采集任何应用信息，支持任何语言，并且应用完全无感知，零侵入，想想是不是很激动，那么这个技术是什么呢？就是eBPF，它应该是最近一两年非常热门的技术名词，我相信你或多或少都看到过，但可能不知道它能做什么，今天我们来讲讲这个革命性的技术eBPF，以及它在可观测领域的应用eBPF是什么？</p>
<h4 id="eBPF-是什么？"><a href="#eBPF-是什么？" class="headerlink" title="eBPF 是什么？"></a>eBPF 是什么？</h4><p><img src="https://wz-blogimg.oss-cn-beijing.aliyuncs.com/img/01674334-5464-4f34-bcba-96d8f728d96b.png"></p>
<span id="more"></span>

<p><code>eBPF</code>（extended Berkeley Packet Filter）是在 Linux 内核中运行的虚拟机技术，2014 年它首次出现在 Linux 内核中，并经过这几年迭代，目前已经成熟。它提供了一种灵活并且安全的方式来扩展内核功能。eBPF 最初是为网络数据包过滤而设计的，但现在已经扩展到其它领域，如安全监控、性能分析和系统跟踪等。</p>
<p><code>eBPF</code>允许用户在不修改内核源代码的情况下，通过加载和执行自定义的<code>eBPF</code>程序来扩展内核功能。这些<code>eBPF</code>程序通过<strong>Hook 机制</strong>与内核交互，它们可以对进入和离开内核的事件进行过滤和处理，以实现网络数据包的监控、性能统计和安全审计等功能。</p>
<p>如下图，<code>eBPF</code>可以在文件写入和读取进行拦截处理，网络的发送和接受进行拦截处理<br><img src="https://wz-blogimg.oss-cn-beijing.aliyuncs.com/img/8c542487-f9c1-4a00-ac3b-2d98603d1de2.png"></p>
<p>这段代码是一个 eBPF 过滤器程序，用于在网络数据包通过时打印源 IP 地址和目标 IP 地址。它使用 bpf_printk 函数来输出信息到内核日志。</p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br></pre></td><td class="code"><pre><span class="line">#include &lt;linux/bpf.h&gt;</span><br><span class="line">#include &lt;linux/if_ether.h&gt;</span><br><span class="line">#include &lt;linux/ip.h&gt;</span><br><span class="line">#include &lt;linux/in.h&gt;</span><br><span class="line"></span><br><span class="line">SEC(&quot;filter&quot;)</span><br><span class="line">int print_ip(struct __sk_buff *skb) &#123;</span><br><span class="line">    struct ethhdr *eth = bpf_hdr_pointer(skb);</span><br><span class="line">    struct iphdr *ip = (struct iphdr *)(eth + 1);</span><br><span class="line"></span><br><span class="line">    if (eth-&gt;h_proto == htons(ETH_P_IP)) &#123;</span><br><span class="line">        bpf_printk(&quot;Source IP: %u.%u.%u.%u\n&quot;,</span><br><span class="line">                   ip-&gt;saddr &amp; 0xFF,</span><br><span class="line">                   (ip-&gt;saddr &gt;&gt; 8) &amp; 0xFF,</span><br><span class="line">                   (ip-&gt;saddr &gt;&gt; 16) &amp; 0xFF,</span><br><span class="line">                   (ip-&gt;saddr &gt;&gt; 24) &amp; 0xFF);</span><br><span class="line"></span><br><span class="line">        bpf_printk(&quot;Destination IP: %u.%u.%u.%u\n&quot;,</span><br><span class="line">                   ip-&gt;daddr &amp; 0xFF,</span><br><span class="line">                   (ip-&gt;daddr &gt;&gt; 8) &amp; 0xFF,</span><br><span class="line">                   (ip-&gt;daddr &gt;&gt; 16) &amp; 0xFF,</span><br><span class="line">                   (ip-&gt;daddr &gt;&gt; 24) &amp; 0xFF);</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    return XDP_PASS;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>

<h4 id="eBPF-能做什么？"><a href="#eBPF-能做什么？" class="headerlink" title="eBPF 能做什么？"></a>eBPF 能做什么？</h4><p>动态编程内核以实现高效的网络、可观测性、追踪和安全性。</p>
<h6 id="1-可观测性"><a href="#1-可观测性" class="headerlink" title="1.可观测性"></a>1.可观测性</h6><p>eBPF 程序是事件驱动的，当内核或用户程序经过一个 eBPF Hook 时，对应 Hook 点上加载的 eBPF 程序就会被执行。从而可以采集相关信息，而且它是<strong>完全无侵入，对应用系统来说完全无感知</strong>。</p>
<p>想想以前我们用的监控系统<code>Cat</code>、<code>SkyWalking</code>或多或少都有侵入，只是代码多少的问题，有了它完全不用关心，而且它能对所有运行在 linux 上面应用进行监控，比如<br><code>redis</code>、<code>kafka</code>等</p>
<h6 id="2-安全监控和审计"><a href="#2-安全监控和审计" class="headerlink" title="2.安全监控和审计"></a>2.安全监控和审计</h6><p><code>eBPF</code>可以用于实时监控系统的安全事件和异常行为。它可以检测恶意软件、网络攻击、未经授权的访问等安全威胁，并触发警报或采取相应的防御措施。</p>
<h6 id="3-自定义功能扩展"><a href="#3-自定义功能扩展" class="headerlink" title="3.自定义功能扩展"></a>3.自定义功能扩展</h6><p>如数据包处理、协议解析、数据转换等。</p>
<h4 id="eBPF-在可观测性方案的应用"><a href="#eBPF-在可观测性方案的应用" class="headerlink" title="eBPF 在可观测性方案的应用"></a>eBPF 在可观测性方案的应用</h4><p>可观测性，也是近几年非常热门的话题，因为目前互联网公司应用大部分都基于 k8s 部署，而 k8s 的网络模型比较复杂，如果系统出现异常，无法快速定位问题，所以需要有一个的平台可以去做系统故障定位、性能优化、以及监控等工作，而可观测性提供了更深入的洞察力和更好的理解，使得在复杂的分布式系统中构建、部署和维护应用程序更加可靠和高效<br>如何做好一个可观测性系统，那么<code>eBPF</code>技术是绕不开的，下面看下<code>eBPF</code>是如何抓取应用数据</p>
<h6 id="eBPF-是如何抓取应用数据的"><a href="#eBPF-是如何抓取应用数据的" class="headerlink" title="eBPF 是如何抓取应用数据的"></a>eBPF 是如何抓取应用数据的</h6><p>可能有人会问eBPF是怎么抓取数据，因为进入系统内核都是二进制数据，如何知晓是kafka或者mongodb的数据，答案是基于通信协议，每个中间件都是属于自身的通信协议，比如 redis、mysql、mongodb等,以下为mongodb的原始通信报文，这个报文每几位代表什么含义，在mongodb官方文档都有定义<br><img src="https://wz-blogimg.oss-cn-beijing.aliyuncs.com/img/f79716d7-4163-4e86-902b-f857f0ae24e2.png"><br>引用于:郑志聪老师在 2023 云原生+可观测性广州 Meeup 分享</p>
<h5 id="mongodb-消息解析"><a href="#mongodb-消息解析" class="headerlink" title="mongodb 消息解析"></a>mongodb 消息解析</h5><p>由于作者本人的电脑为MAC M系列芯片，对<code>eBPF</code>不怎么兼容，所以我们下面只讲原理，如下图是<code>mongodb</code>通信协议，基于这个协议，可以知晓消息内容、操作类型、响应码等。</p>
<p><img src="https://wz-blogimg.oss-cn-beijing.aliyuncs.com/img/9825c281-64ba-48ec-869b-c166a996bf13.png"></p>
<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">struct MsgHeader &#123;</span><br><span class="line">    int32   messageLength; // total message size, including this</span><br><span class="line">    int32   requestID;     // identifier for this message</span><br><span class="line">    int32   responseTo;    // requestID from the original request</span><br><span class="line">                           //   (used in responses from the database)</span><br><span class="line">    int32   opCode;        // message type</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>

<blockquote>
<p><a target="_blank" rel="noopener" href="https://www.mongodb.com/docs/manual/reference/mongodb-wire-protocol/">https://www.mongodb.com/docs/manual/reference/mongodb-wire-protocol/</a></p>
</blockquote>
<p>基于这个消息协议，<code>eBPF</code>就可以完成数据解析和抽取<br><img src="https://wz-blogimg.oss-cn-beijing.aliyuncs.com/img/58fc448e-8f64-4d59-8304-01768d0c75e0.png"></p>
<h5 id="基于-eBPF-构建的可观测性平台"><a href="#基于-eBPF-构建的可观测性平台" class="headerlink" title="基于 eBPF 构建的可观测性平台"></a>基于 eBPF 构建的可观测性平台</h5><p>目前很多公司都基于 eBPF技术在构建自己的可观测性平台，下面介绍一些相关产品</p>
<h6 id="阿里云应用监控-eBPF-版"><a href="#阿里云应用监控-eBPF-版" class="headerlink" title="阿里云应用监控 eBPF 版"></a>阿里云应用监控 eBPF 版</h6><p>它是一套针对 Kubernetes 集群开发的一站式可观测性产品，它能做到：</p>
<ul>
<li>代码无侵入：阿里云应用监控 eBPF 版通过旁路技术，不需要对代码进行埋点即可获取到丰富的网络性能数据。</li>
<li>语言无关：阿里云应用监控 eBPF 版在内核层进行网络协议解析，支持任意语言，任意框架。</li>
<li>高性能：阿里云应用监控 eBPF 版基于 eBPF 技术，能以极低的消耗获取丰富的网络性能数据。</li>
<li>资源关联：阿里云应用监控 eBPF 版通过网络拓扑，资源拓扑展示相关资源的关联。</li>
<li>数据多样：阿里云应用监控 eBPF 版支持可观测的各种类型数据（监控指标、链路、日志和事件）。</li>
<li>整体性：阿里云应用监控 eBPF 版通过控制台的场景设计，关联起架构感知拓扑、Prometheus 监控、告警配置。</li>
</ul>
<p>部分效果图</p>
<p>dashboard<br>  <img src="https://wz-blogimg.oss-cn-beijing.aliyuncs.com/img/44785394-998f-49c9-8fae-d7184297a926.png"><br>拓扑图<br>  <img src="https://wz-blogimg.oss-cn-beijing.aliyuncs.com/img/3ea83b91-24b4-434c-a96b-6eb32b20cd5c.png"></p>
<blockquote>
<p><a target="_blank" rel="noopener" href="https://help.aliyun.com/zh/arms/application-monitoring-ebpf/product-overview/what-is-alibaba-cloud-application-monitoring-ebpf-version">https://help.aliyun.com/zh/arms/application-monitoring-ebpf/product-overview/what-is-alibaba-cloud-application-monitoring-ebpf-version</a></p>
</blockquote>
<h6 id="开源监控系统-deepFlow"><a href="#开源监控系统-deepFlow" class="headerlink" title="开源监控系统 deepFlow"></a>开源监控系统 deepFlow</h6><p>DeepFlow 开源项目旨在为复杂的云基础设施及云原生应用提供深度可观测性。DeepFlow 基于 eBPF 实现了零侵扰（Zero Code）的指标、分布式追踪、调用日志、函数剖析数据采集，并结合智能标签（SmartEncoding）技术实现了所有观测数据的全栈（Full Stack）关联和高效存取，核心特性如下：</p>
<ul>
<li>任意 Service 的全景图：利用 eBPF 零侵扰绘制生产环境的全景图。</li>
<li>任意 Request 的分布式追踪：基于 eBPF 的零侵扰分布式追踪能力，支持任意语言的应用程序，并完整覆盖网关、服务网格、数据库、消息队列、DNS、网卡等各类基础设施。</li>
<li>任意 Function 的持续性能剖析：以低于 1% 的开销零侵扰采集生产环境进程的性能剖析数据。</li>
<li>无缝集成流行的可观测性技术栈：可作为 Prometheus、OpenTelemetry、SkyWalking、Pyroscope 的存储后端。</li>
<li>存储性能 10x ClickHouse：基于 SmartEncoding 机制，向所有观测信号注入标准化的、预编码的元标签，相比 ClickHouse 的 String 或 LowCard 方案均可将存储开销降低 10x。</li>
</ul>
<p>部分效果图</p>
<p>redis 监控<br>  <img src="https://wz-blogimg.oss-cn-beijing.aliyuncs.com/img/abb8e448-1572-4cad-b7d7-99eaff9b2a96.png"><br>请求日志<br>  <img src="https://wz-blogimg.oss-cn-beijing.aliyuncs.com/img/aef63f42-0770-471b-a01d-e9d9711edb5d.png"><br>分布式链路追踪<br>  <img src="https://wz-blogimg.oss-cn-beijing.aliyuncs.com/img/13e0b1d3-61d1-4d2a-b42c-cb96ea4d3cb8.png"><br>sql 监控<br>  <img src="https://wz-blogimg.oss-cn-beijing.aliyuncs.com/img/3d30fe8f-03e2-4c06-bc8e-e16c8ddc26e6.png"></p>
<blockquote>
<p><a target="_blank" rel="noopener" href="https://github.com/deepflowio/deepflow/blob/main/README-CN.md">https://github.com/deepflowio/deepflow/blob/main/README-CN.md</a></p>
</blockquote>
<h6 id="SkyWalking"><a href="#SkyWalking" class="headerlink" title="SkyWalking"></a>SkyWalking</h6><p>众多周知SkyWalking基于agent方式采集可观测性数据，比如java用java agent相关api编写，其它语言则编写对应语言的agent，这种方式可行，但是对技术人员要求较高。如果使用eBPF就不存在这种问题，目前看到SkyWalking也有往eBPF方向发展</p>
<p>部分效果图</p>
<p><img src="https://wz-blogimg.oss-cn-beijing.aliyuncs.com/img/67e1f75d-a730-44f0-bd61-abf0426dc909.png"><br><img src="https://wz-blogimg.oss-cn-beijing.aliyuncs.com/img/c193fdce-8e50-4219-bb61-90eb841a1bc8.png"></p>
<blockquote>
<p>引用于吴晟老师 SkyWalking2023 峰会演讲 PPT</p>
</blockquote>
<h6 id="Cilium"><a href="#Cilium" class="headerlink" title="Cilium"></a>Cilium</h6><p>Cilium 是一个开源项目，为 Kubernetes 集群和其它容器编排平台等云原生环境提供网络、安全和可观测性，它主要使用的技术就是<code>eBPF</code><br><img src="https://wz-blogimg.oss-cn-beijing.aliyuncs.com/img/4b65be4d-270c-40c1-bac5-13847b0a00f5.png"></p>
<blockquote>
<p><a target="_blank" rel="noopener" href="https://cilium.io/">https://cilium.io/</a></p>
</blockquote>
<h3 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h3><p>以上我们介绍了<code>eBPF</code>是什么，以及它有哪些优势，同时讲解了它在可观测性领域的一些应用，希望对你有所帮助。</p>

        
            <div id="toc-article">
                
  <div class="widget-wrap" id="toc-wrap">
    <h3 class="widget-title"><i class="fa fa-toc"></i> 文章目录</h3>
    <div class="widget">
      <ol class="toc"><li class="toc-item toc-level-4"><a class="toc-link" href="#eBPF-%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F"><span class="toc-text">eBPF 是什么？</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#eBPF-%E8%83%BD%E5%81%9A%E4%BB%80%E4%B9%88%EF%BC%9F"><span class="toc-text">eBPF 能做什么？</span></a><ol class="toc-child"><li class="toc-item toc-level-6"><a class="toc-link" href="#1-%E5%8F%AF%E8%A7%82%E6%B5%8B%E6%80%A7"><span class="toc-text">1.可观测性</span></a></li><li class="toc-item toc-level-6"><a class="toc-link" href="#2-%E5%AE%89%E5%85%A8%E7%9B%91%E6%8E%A7%E5%92%8C%E5%AE%A1%E8%AE%A1"><span class="toc-text">2.安全监控和审计</span></a></li><li class="toc-item toc-level-6"><a class="toc-link" href="#3-%E8%87%AA%E5%AE%9A%E4%B9%89%E5%8A%9F%E8%83%BD%E6%89%A9%E5%B1%95"><span class="toc-text">3.自定义功能扩展</span></a></li></ol></li></ol></li><li class="toc-item toc-level-4"><a class="toc-link" href="#eBPF-%E5%9C%A8%E5%8F%AF%E8%A7%82%E6%B5%8B%E6%80%A7%E6%96%B9%E6%A1%88%E7%9A%84%E5%BA%94%E7%94%A8"><span class="toc-text">eBPF 在可观测性方案的应用</span></a><ol class="toc-child"><li class="toc-item toc-level-6"><a class="toc-link" href="#eBPF-%E6%98%AF%E5%A6%82%E4%BD%95%E6%8A%93%E5%8F%96%E5%BA%94%E7%94%A8%E6%95%B0%E6%8D%AE%E7%9A%84"><span class="toc-text">eBPF 是如何抓取应用数据的</span></a></li></ol></li><li class="toc-item toc-level-5"><a class="toc-link" href="#mongodb-%E6%B6%88%E6%81%AF%E8%A7%A3%E6%9E%90"><span class="toc-text">mongodb 消息解析</span></a></li><li class="toc-item toc-level-5"><a class="toc-link" href="#%E5%9F%BA%E4%BA%8E-eBPF-%E6%9E%84%E5%BB%BA%E7%9A%84%E5%8F%AF%E8%A7%82%E6%B5%8B%E6%80%A7%E5%B9%B3%E5%8F%B0"><span class="toc-text">基于 eBPF 构建的可观测性平台</span></a><ol class="toc-child"><li class="toc-item toc-level-6"><a class="toc-link" href="#%E9%98%BF%E9%87%8C%E4%BA%91%E5%BA%94%E7%94%A8%E7%9B%91%E6%8E%A7-eBPF-%E7%89%88"><span class="toc-text">阿里云应用监控 eBPF 版</span></a></li><li class="toc-item toc-level-6"><a class="toc-link" href="#%E5%BC%80%E6%BA%90%E7%9B%91%E6%8E%A7%E7%B3%BB%E7%BB%9F-deepFlow"><span class="toc-text">开源监控系统 deepFlow</span></a></li><li class="toc-item toc-level-6"><a class="toc-link" href="#SkyWalking"><span class="toc-text">SkyWalking</span></a></li><li class="toc-item toc-level-6"><a class="toc-link" href="#Cilium"><span class="toc-text">Cilium</span></a></li></ol></li></ol></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%80%BB%E7%BB%93"><span class="toc-text">总结</span></a>
    </div>
  </div>


            </div>
        
        
          <blockquote id="copyright">
              <p>原文链接: <a href="https://dongweizhao.github.io/2023/12/17/2023/云原生/什么是革命性技术eBPF？为什么可观测性领域都得用它/">https://dongweizhao.github.io/2023/12/17/2023/云原生/什么是革命性技术eBPF？为什么可观测性领域都得用它/</a></p>
              <p>版权声明: 转载请注明出处.</p>
          </blockquote>
        
      
    </div>
    <footer class="article-footer">
      
        <div class="article-tag-wrap">
          

          
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/eBPF/" rel="tag">eBPF</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/%E4%BB%80%E4%B9%88%E6%98%AFeBPF/" rel="tag">什么是eBPF</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/%E5%8F%AF%E8%A7%82%E6%B5%8B%E9%A2%86%E5%9F%9F%E5%BA%95%E5%B1%82%E6%8A%80%E6%9C%AF/" rel="tag">可观测领域底层技术</a></li></ul>

          
    <div class="social-share">
      <span>分享到:</span>
    </div>



        </div>
      
      
        
<nav id="article-nav">
  
    <a href="/2023/12/17/2023/%E4%BA%91%E5%8E%9F%E7%94%9F/%E5%A6%82%E4%BD%95%E5%9F%BA%E4%BA%8E%20k8s%E5%81%9A%E7%A7%81%E6%9C%89%E5%8C%96%E9%83%A8%E7%BD%B2/" id="article-nav-older" class="article-nav-link-wrap">
      <strong class="article-nav-caption">older</strong>
      <div class="article-nav-title">
        
          如何基于 k8s做私有化部署
        
      </div>
    </a>
  
  
    <a href="/2023/12/17/2023/%E4%BA%91%E5%8E%9F%E7%94%9F/%E4%BB%8E%E7%89%A9%E7%90%86%E6%9C%BA%E5%88%B0K8S%EF%BC%9A%E5%BA%94%E7%94%A8%E7%B3%BB%E7%BB%9F%E9%83%A8%E7%BD%B2%E6%96%B9%E5%BC%8F%E7%9A%84%E6%BC%94%E8%BF%9B%E5%8F%8A%E5%85%B6%E5%BD%B1%E5%93%8D/" id="article-nav-newer" class="article-nav-link-wrap">
      <strong class="article-nav-caption">newer</strong>
      <div class="article-nav-title">
        
          从物理机到K8S：应用系统部署方式的演进及其影响
        
      </div>
    </a>
  
</nav>

      
      
        








      
    </footer>
  </div>
</article>
</section>
        
          <aside id="sidebar">
  
    
  <div class="widget-wrap">
    <h3 class="widget-title"><i class="fa fa-posts"></i> 最新文章</h3>
    <div class="widget">
      <ul>
        
          <li>
            <a href="/2023/12/17/2023/%E4%BA%91%E5%8E%9F%E7%94%9F/%E5%9F%BA%E4%BA%8EK8S%E7%A7%81%E6%9C%89%E5%8C%96%E4%BA%A4%E4%BB%98%E8%A6%81%E6%B3%A8%E6%84%8F%E5%87%A0%E7%82%B9%E9%97%AE%E9%A2%98/">基于K8S私有化交付要注意几点问题</a>
          </li>
        
          <li>
            <a href="/2023/12/17/2023/%E4%BA%91%E5%8E%9F%E7%94%9F/%E4%BB%8E%E7%89%A9%E7%90%86%E6%9C%BA%E5%88%B0K8S%EF%BC%9A%E5%BA%94%E7%94%A8%E7%B3%BB%E7%BB%9F%E9%83%A8%E7%BD%B2%E6%96%B9%E5%BC%8F%E7%9A%84%E6%BC%94%E8%BF%9B%E5%8F%8A%E5%85%B6%E5%BD%B1%E5%93%8D/">从物理机到K8S：应用系统部署方式的演进及其影响</a>
          </li>
        
          <li>
            <a href="/2023/12/17/2023/%E4%BA%91%E5%8E%9F%E7%94%9F/%E4%BB%80%E4%B9%88%E6%98%AF%E9%9D%A9%E5%91%BD%E6%80%A7%E6%8A%80%E6%9C%AFeBPF%EF%BC%9F%E4%B8%BA%E4%BB%80%E4%B9%88%E5%8F%AF%E8%A7%82%E6%B5%8B%E6%80%A7%E9%A2%86%E5%9F%9F%E9%83%BD%E5%BE%97%E7%94%A8%E5%AE%83/">什么是革命性技术eBPF？为什么可观测性领域都得用它</a>
          </li>
        
          <li>
            <a href="/2023/12/17/2023/%E4%BA%91%E5%8E%9F%E7%94%9F/%E5%A6%82%E4%BD%95%E5%9F%BA%E4%BA%8E%20k8s%E5%81%9A%E7%A7%81%E6%9C%89%E5%8C%96%E9%83%A8%E7%BD%B2/">如何基于 k8s做私有化部署</a>
          </li>
        
          <li>
            <a href="/2023/12/17/2023/%E4%BA%91%E5%8E%9F%E7%94%9F/10%E4%B8%AA%E5%B8%B8%E8%A7%81%E7%9A%84%20Kubernetes%20%E9%99%B7%E9%98%B1%E5%92%8C%E6%8C%91%E6%88%98/">10个常见的 Kubernetes 陷阱和挑战</a>
          </li>
        
      </ul>
    </div>
  </div>


  
    
  <div class="widget-wrap">
    <h3 class="widget-title"><i class="fa fa-tag"></i> 标签云</h3>
    <div class="widget tagcloud">
      <a href="/tags/AI/" style="font-size: 10px;">AI</a> <a href="/tags/AIGC/" style="font-size: 10px;">AIGC</a> <a href="/tags/Kubernetes/" style="font-size: 17.5px;">Kubernetes</a> <a href="/tags/Stream/" style="font-size: 10px;">Stream</a> <a href="/tags/chatGPT/" style="font-size: 10px;">chatGPT</a> <a href="/tags/eBPF/" style="font-size: 10px;">eBPF</a> <a href="/tags/java/" style="font-size: 15px;">java</a> <a href="/tags/k8s/" style="font-size: 12.5px;">k8s</a> <a href="/tags/k8s10-%E4%B8%AA%E5%B8%B8%E8%A7%81%E6%8C%91%E6%88%98%E5%92%8C%E9%99%B7%E9%98%B1/" style="font-size: 10px;">k8s10 个常见挑战和陷阱</a> <a href="/tags/nio/" style="font-size: 10px;">nio</a> <a href="/tags/%E4%BB%80%E4%B9%88%E6%98%AFeBPF/" style="font-size: 10px;">什么是eBPF</a> <a href="/tags/%E4%BB%8Edocker%E5%88%B0k8s/" style="font-size: 10px;">从docker到k8s</a> <a href="/tags/%E5%88%86%E5%B8%83%E5%BC%8F/" style="font-size: 17.5px;">分布式</a> <a href="/tags/%E5%88%86%E5%BA%93%E5%88%86%E8%A1%A8%E5%8F%8A%E4%BA%8B%E5%8A%A1%E4%B8%80%E8%87%B4%E6%80%A7%E8%AE%BE%E8%AE%A1/" style="font-size: 17.5px;">分库分表及事务一致性设计</a> <a href="/tags/%E5%8F%AF%E8%A7%82%E6%B5%8B%E9%A2%86%E5%9F%9F%E5%BA%95%E5%B1%82%E6%8A%80%E6%9C%AF/" style="font-size: 10px;">可观测领域底层技术</a> <a href="/tags/%E5%90%8E%E7%AB%AF/" style="font-size: 10px;">后端</a> <a href="/tags/%E5%A6%82%E4%BD%95%E5%9F%BA%E4%BA%8E-k8s%E5%81%9A%E7%A7%81%E6%9C%89%E5%8C%96%E9%83%A8%E7%BD%B2/" style="font-size: 10px;">如何基于 k8s做私有化部署</a> <a href="/tags/%E5%B9%B6%E5%8F%91/" style="font-size: 15px;">并发</a> <a href="/tags/%E6%9E%B6%E6%9E%84%E6%88%90%E9%95%BF%E6%8C%87%E5%8D%97/" style="font-size: 20px;">架构成长指南</a> <a href="/tags/%E7%A7%81%E6%9C%89%E5%8C%96%E4%BA%A4%E4%BB%98/" style="font-size: 10px;">私有化交付</a> <a href="/tags/%E7%A7%81%E6%9C%89%E5%8C%96%E9%83%A8%E7%BD%B2/" style="font-size: 12.5px;">私有化部署</a> <a href="/tags/%E7%B3%BB%E7%BB%9F%E9%83%A8%E7%BD%B2%E6%9E%B6%E6%9E%84%E6%BC%94%E8%BF%9B/" style="font-size: 10px;">系统部署架构演进</a> <a href="/tags/%E9%93%BE%E8%A1%A8/" style="font-size: 12.5px;">链表</a>
    </div>
  </div>

  
    
  <div class="widget-wrap">
    <h3 class="widget-title"><i class="fa fa-classify"></i> 分类</h3>
    <div class="widget">
      <ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/categories/%E4%BA%91%E5%8E%9F%E7%94%9F/">云原生</a><span class="category-list-count">5</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%90%8E%E7%AB%AF/">后端</a><span class="category-list-count">9</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%B7%A5%E5%85%B7/">工具</a><span class="category-list-count">1</span><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/%E5%B7%A5%E5%85%B7/AI/">AI</a><span class="category-list-count">1</span></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E7%AE%97%E6%B3%95/">算法</a><span class="category-list-count">2</span></li></ul>
    </div>
  </div>


  
    
  <div class="widget-wrap">
    <h3 class="widget-title"><i class="fa fa-archive"></i>公众号</h3>
    <div class="widget">
       <img src="/gzh.jpg" style="width:80%; height:80%;" />
    </div>
  </div>


  
    
  <div class="widget-wrap">
    <h3 class="widget-title"><i class="fa fa-tag"></i> 标签</h3>
    <div class="widget">
      <ul class="tag-list" itemprop="keywords"><li class="tag-list-item"><a class="tag-list-link" href="/tags/AI/" rel="tag">AI</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/AIGC/" rel="tag">AIGC</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/Kubernetes/" rel="tag">Kubernetes</a><span class="tag-list-count">4</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/Stream/" rel="tag">Stream</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/chatGPT/" rel="tag">chatGPT</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/eBPF/" rel="tag">eBPF</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/java/" rel="tag">java</a><span class="tag-list-count">3</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/k8s/" rel="tag">k8s</a><span class="tag-list-count">2</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/k8s10-%E4%B8%AA%E5%B8%B8%E8%A7%81%E6%8C%91%E6%88%98%E5%92%8C%E9%99%B7%E9%98%B1/" rel="tag">k8s10 个常见挑战和陷阱</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/nio/" rel="tag">nio</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/%E4%BB%80%E4%B9%88%E6%98%AFeBPF/" rel="tag">什么是eBPF</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/%E4%BB%8Edocker%E5%88%B0k8s/" rel="tag">从docker到k8s</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/%E5%88%86%E5%B8%83%E5%BC%8F/" rel="tag">分布式</a><span class="tag-list-count">4</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/%E5%88%86%E5%BA%93%E5%88%86%E8%A1%A8%E5%8F%8A%E4%BA%8B%E5%8A%A1%E4%B8%80%E8%87%B4%E6%80%A7%E8%AE%BE%E8%AE%A1/" rel="tag">分库分表及事务一致性设计</a><span class="tag-list-count">4</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/%E5%8F%AF%E8%A7%82%E6%B5%8B%E9%A2%86%E5%9F%9F%E5%BA%95%E5%B1%82%E6%8A%80%E6%9C%AF/" rel="tag">可观测领域底层技术</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/%E5%90%8E%E7%AB%AF/" rel="tag">后端</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/%E5%A6%82%E4%BD%95%E5%9F%BA%E4%BA%8E-k8s%E5%81%9A%E7%A7%81%E6%9C%89%E5%8C%96%E9%83%A8%E7%BD%B2/" rel="tag">如何基于 k8s做私有化部署</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/%E5%B9%B6%E5%8F%91/" rel="tag">并发</a><span class="tag-list-count">3</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/%E6%9E%B6%E6%9E%84%E6%88%90%E9%95%BF%E6%8C%87%E5%8D%97/" rel="tag">架构成长指南</a><span class="tag-list-count">6</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/%E7%A7%81%E6%9C%89%E5%8C%96%E4%BA%A4%E4%BB%98/" rel="tag">私有化交付</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/%E7%A7%81%E6%9C%89%E5%8C%96%E9%83%A8%E7%BD%B2/" rel="tag">私有化部署</a><span class="tag-list-count">2</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/%E7%B3%BB%E7%BB%9F%E9%83%A8%E7%BD%B2%E6%9E%B6%E6%9E%84%E6%BC%94%E8%BF%9B/" rel="tag">系统部署架构演进</a><span class="tag-list-count">1</span></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/%E9%93%BE%E8%A1%A8/" rel="tag">链表</a><span class="tag-list-count">2</span></li></ul>
    </div>
  </div>


  
    
  <div class="widget-wrap">
    <h3 class="widget-title"><i class="fa fa-link"></i> 友情链接</h3>
    <div class="widget">
      <ul>
      
        <li>
          <a target="_blank" rel="noopener" href="https://juejin.cn/user/1292681402913080">我的掘金</a>
        </li>
      
        <li>
          <a target="_blank" rel="noopener" href="https://www.zhihu.com/people/dong-wei-zhao-73">我的知乎</a>
        </li>
      
        <li>
          <a target="_blank" rel="noopener" href="https://blog.csdn.net/dweizhao?type=blog">我的CSDN</a>
        </li>
      
      </ul>
    </div>
  </div>


  
</aside>
        
      </div>
      <a id="totop" href="#top"></a>
      <footer id="footer">
  
  <div class="outer">
    <div id="footer-info" class="inner">
      <p>
        <a href="/sitemap.xml">网站地图</a>
        <span> | </span><a href="/atom.xml">订阅本站</a>
        <span> | </span><a href="/about/">联系博主</a>
      </p>
      
        <p>
          <i class="fa fa-visitors"></i>
          <i id="busuanzi_container_site_uv"><i id="busuanzi_value_site_uv"></i></i>
          ，
          <i class="fa fa-views"></i>
          <i id="busuanzi_container_site_pv"><i id="busuanzi_value_site_pv"></i></i>
        </p>
      
      <p>
        <span>Copyright &copy; 2023 架构成长指南.</span>
        <span>Theme by <a href="https://github.com/chaooo/hexo-theme-BlueLake/" target="_blank">BlueLake.</a></span>
        <span>Powered by <a href="https://hexo.io/" target="_blank">Hexo.</a></span>
      </p>
    </div>
  </div>
</footer>

    </div>
  </div>
  
<script src="/js/jquery-3.4.1.min.js"></script>


<script src="/js/search.json.js"></script>


  
<script src="/fancybox/jquery.fancybox.min.js"></script>




<script src="/js/script.js"></script>






  
<script src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>




  
    
<script src="/localshare/js/social-share.js"></script>

    
<script src="/localshare/js/qrcode.js"></script>

  
  



  

  

  

  

  

  

  

  
  





</body>
</html>